/* 
 * File:   HOGSettings.cpp
 * Author: ungerma
 * 
 * Created on 11. August 2014, 18:14
 */

#include "HOGSettings.h"
#include "Images.h"

HOGSettings::HOGSettings(Size winSize, int groupThreshold, Size padding, 
        Size winStride, double hitThreshold, 
        float scaleFactor, Scalar highlightColor) {
   
    this->winSize = winSize;
    this->groupThreshold = groupThreshold;
    this->padding = padding;
    this->winStride = winStride;
    this->hitThreshold = hitThreshold;
    this->scaleFactor = scaleFactor;
    this->highlightColor = highlightColor;
    
}

HOGSettings::HOGSettings() {
    
    this->winSize = Size(Images::POS_TRAINING_WIDTH, 
            Images::POS_TRAINING_HEIGHT);
    this->groupThreshold = 2;
    this->padding = Size(0, 0);
    this->winStride = Size(8, 8);
    this->hitThreshold = 0; 
    this->scaleFactor = 1.05;
    this->highlightColor = Scalar(100, 255, 100);
    
}

Size HOGSettings::getWinSize() {
    return winSize;
}

Size HOGSettings::getPadding() {
    return padding;
}

Size HOGSettings::getWinStride() {
    return winStride;
}

double HOGSettings::getHitThreshold() {
    return hitThreshold;
}

int HOGSettings::getGroupThreshold() {
    return groupThreshold;
}

float HOGSettings::getScaleFactor() {
    return scaleFactor;
}

Scalar HOGSettings::getHighlightColor() {
    return highlightColor;
}

HOGDescriptor HOGSettings::build() {
    
    HOGDescriptor hog;
    hog.winSize = winSize;
    return hog;
    
}
